home *** CD-ROM | disk | FTP | other *** search
/ Serving Financial Service…olutions Suite 1994 Fall / Serving Financial Services Solutions Suite 1994 Fall.iso / Apps / AFS / PasteUp.app / colorsep_prolog.ps < prev    next >
Text File  |  1994-12-14  |  20KB  |  824 lines

  1. % BEGIN separation prologue
  2.  
  3. % (PasteUp color separation prologue version 1.1 edit 8\n) print flush
  4.  
  5. /_NXLevel2 where {
  6.     pop _NXLevel2 {
  7.     currentdict /sethsbcolor undef
  8.     currentdict /setrgbcolor undef
  9.     currentdict /setgray undef
  10.     (got here) = flush
  11.     } if
  12. } if
  13. userdict begin
  14. systemdict /undef known {
  15.     currentdict /setgray undef
  16.     currentdict /nxsetgray undef
  17.     currentdict /nxsetrgbcolor undef
  18.     currentdict /nxsetcmykcolor undef
  19. }{
  20.     % /setgray systemdict /setgray get def
  21.     % /nxsetgray /setgray load def
  22. } ifelse
  23. end
  24. /_previewsetgray /setgray load def
  25. userdict begin
  26.  
  27. % /setcmykcolor is tricky because the emulation code goes into userdict
  28. % where "load" finds it later.  We do some special checking for this
  29. % operator before loading the normal Adobe stuff
  30. /setcmykcolor_emulation {
  31.     1.0 exch sub dup dup 6 -1 roll
  32.     sub dup 0 lt{pop 0}if 5 1 roll
  33.     4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll
  34.     exch sub dup 0 lt{pop 0}if setrgbcolor
  35. } bind def
  36. /setcmykcolor {
  37.     PasteUp_separate_vars begin
  38.     /customcolor getgsproperty 5 1 roll 4 index null eq {
  39.         setprocessseparate
  40.     } {
  41.         _setcmykcolor currentgray 1 exch sub setcustomseparate
  42.     } ifelse
  43.     end
  44. } bind def
  45. /setrgbcolor {
  46.     PasteUp_separate_vars begin
  47.     /customcolor getgsproperty 4 1 roll 3 index null eq {
  48.         /rgbtocmyk getgsproperty exec setprocessseparate
  49.     } {
  50.         _setrgbcolor currentgray 1 exch sub setcustomseparate
  51.     } ifelse
  52.     end
  53. } def
  54. /nxsetrgbcolor /setrgbcolor load def
  55. /setoverprint {
  56.     /overprint exch setgsproperty
  57. } def
  58.  
  59. end %userdict
  60.  
  61. userdict /PasteUp_packedarray 5 dict dup begin put
  62. /initialize {
  63.     /packedarray where {
  64.         pop
  65.     } {
  66.         PasteUp_packedarray begin PasteUp_packedarray {
  67.             dup xcheck {
  68.                 bind
  69.             } if userdict 3 1 roll put
  70.         } forall end
  71.     } ifelse
  72. } def
  73. /terminate {
  74.     
  75. } def
  76. /packedarray {
  77.     array astore readonly
  78. } def
  79. /setpacking {
  80.     pop
  81. } def
  82. /currentpacking {
  83.     false
  84. } def
  85. currentdict readonly pop end
  86. PasteUp_packedarray /initialize get exec
  87. currentpacking true setpacking
  88. userdict /PasteUp_cmykcolor 4 dict dup begin put
  89. /initialize {
  90.     /setcmykcolor where {
  91.         pop
  92.     } {
  93.         userdict /PasteUp_cmykcolor_vars 2 dict dup begin put
  94.         /_setrgbcolor /setrgbcolor load def
  95.         /_currentrgbcolor /currentrgbcolor load def
  96.         PasteUp_cmykcolor begin PasteUp_cmykcolor {
  97.         dup xcheck {
  98.             bind
  99.         } if pop pop
  100.         } forall
  101.     end
  102.     end
  103.     PasteUp_cmykcolor begin
  104.     } ifelse
  105. } def
  106. /terminate {
  107.     currentdict PasteUp_cmykcolor eq {
  108.         end
  109.     } if
  110. } def
  111. /setcmykcolor {
  112.     1 sub 4 1 roll 3 {
  113.         3 index add neg dup 0 lt {
  114.             pop 0
  115.         } if 3 1 roll
  116.     } repeat PasteUp_cmykcolor_vars /_setrgbcolor get exec pop
  117. } def
  118. /currentcmykcolor {
  119.     PasteUp_cmykcolor_vars /_currentrgbcolor get exec 3 {
  120.         1 sub neg 3 1 roll
  121.     } repeat 0
  122. } def
  123. currentdict readonly pop end
  124. setpacking
  125. currentpacking true setpacking
  126. userdict /PasteUp_gsproperty 8 dict dup begin put
  127. /initialize {
  128.     /setgsproperty where {
  129.         pop
  130.     } {
  131.         userdict /PasteUp_gsproperty_vars 8 dict dup begin put
  132.         /stack 32 array def
  133.         0 1 stack length 1 sub {
  134.         stack exch 10 dict put
  135.         } for
  136.         /gtop 0 def
  137.         /top 0 def
  138.         /time 0 def
  139.         /_gsave /gsave load def
  140.         /_grestore /grestore load def
  141.         /_grestoreall /grestoreall load def
  142.         /_save /save load def
  143.         PasteUp_gsproperty begin
  144.         PasteUp_gsproperty {
  145.         dup xcheck {
  146.             bind
  147.         } if
  148.         pop pop
  149.         } forall
  150.     end
  151.     end
  152.     PasteUp_gsproperty begin
  153.     } ifelse
  154. } def
  155. /terminate {
  156.     currentdict PasteUp_gsproperty eq {
  157.         end
  158.     } if
  159. } def
  160. /setgsproperty {
  161.     PasteUp_gsproperty_vars begin
  162.     stack gtop get dup length exch maxlength eq {
  163.         stack gtop 2 copy get dup maxlength 2 mul dict copy put
  164.     } if
  165.     stack gtop get 3 1 roll put
  166.     end
  167. } def
  168. /getgsproperty {
  169.     PasteUp_gsproperty_vars begin gtop -1 -1 {
  170.         stack exch get 2 copy exch known {
  171.             2 copy exch get /_notdef ne {
  172.                 exch get dup exit
  173.             } if
  174.         } if pop
  175.     } for pop end
  176. } def
  177. /gsave {
  178.     PasteUp_gsproperty_vars begin
  179.     _gsave /gtop gtop 1 add def
  180.     stack gtop get dup dup {
  181.         pop /_notdef put dup
  182.     } forall
  183.     pop pop
  184.     end
  185. } def
  186. /grestore {
  187.     PasteUp_gsproperty_vars begin
  188.     gtop top gt {
  189.         /gtop gtop 1 sub def
  190.     } if
  191.     _grestore
  192.     end
  193. } def
  194. /grestoreall {
  195.     PasteUp_gsproperty_vars begin
  196.     /gtop top def
  197.     _grestoreall
  198.     end
  199. } def
  200. /save {
  201.     PasteUp_gsproperty_vars /_save get exec
  202.     PasteUp_gsproperty_vars begin
  203.     /gtop gtop 1 add def
  204.     stack gtop get dup dup {
  205.         pop /_notdef put dup
  206.     } forall
  207.     pop pop
  208.     /top gtop def
  209.     end
  210. } def
  211. currentdict readonly pop end setpacking
  212. currentpacking true setpacking
  213. userdict /PasteUp_separate 50 dict dup begin put
  214. /initialize {
  215.     /nulldevice false setgsproperty
  216.     /customcolor null setgsproperty
  217.     /overprint false setgsproperty
  218.     /rgbtocmyk {
  219.         3 {
  220.             1 exch sub 3 1 roll
  221.         } repeat
  222.     3 copy 1
  223.     4 1 roll
  224.     3 {
  225.             3 index 2 copy gt {
  226.                 exch
  227.             } if
  228.         pop
  229.         4 1 roll
  230.         } repeat
  231.     pop pop pop
  232.     4 1 roll
  233.     3 {
  234.             3 index sub 3 1 roll
  235.         } repeat
  236.     4 -1 roll
  237.     } setgsproperty
  238.     userdict /PasteUp_separate_vars 22 dict dup begin put
  239.     /savestate null def
  240.     /separation /proof def
  241.     /setprocessseparate
  242.         PasteUp_separate /processseparationset get separation get
  243.     def
  244.     /setcustomseparate
  245.         PasteUp_separate /customseparationset get separation get
  246.     def
  247.     /customcolors 1 dict def
  248.     /nullimage 1 def
  249.     /_setrgbcolor /setrgbcolor load def
  250.     /_sethsbcolor /sethsbcolor load def
  251.     systemdict /setcmykcolor known {
  252.         /_setcmykcolor systemdict /setcmykcolor get def
  253.     }{
  254.         /_setcmykcolor /setcmykcolor_emulation load def
  255.     } ifelse
  256.     /_previewsetgray where {
  257.         pop /_setgray /_previewsetgray load def
  258.     }{
  259.         /_setgray /setgray load def
  260.     } ifelse
  261.     /_fill /fill load def
  262.     /_eofill /eofill load def
  263.     /_stroke /stroke load def
  264.     /_imagemask /imagemask load def
  265.     /_image /image load def
  266.     /_show /show load def
  267.     /xyshow where {
  268.         pop /_xyshow /xyshow load def
  269.     }{
  270.         /xyshow{
  271.         0 1 3 index length 1 sub{
  272.             currentpoint 4 index 3 index 1 getinterval show
  273.             3 index 3 index 2 mul 1 add get add exch
  274.             3 index    3 index 2 mul get add exch moveto pop
  275.         } for pop pop
  276.         } bind def
  277.     } ifelse
  278.     /_ashow /ashow load def
  279.     /_widthshow /widthshow load def
  280.     /_awidthshow /awidthshow load def
  281.     /_kshow /kshow load def
  282.     /densitycustomcolor {
  283.         exch customcolors null ne {
  284.         dup 4 get customcolors exch get dup type /booleantype ne {
  285.             exch
  286.         } if pop
  287.         } if aload pop pop 4 {
  288.         4 index mul 4 1 roll
  289.         } repeat 5 -1 roll pop
  290.     } def
  291.     PasteUp_separate begin
  292.         PasteUp_separate {
  293.         dup xcheck {
  294.             bind
  295.         } if
  296.         pop pop
  297.         } forall
  298.     end
  299.     end
  300.     PasteUp_separate begin
  301. } def
  302. /terminate {
  303.     currentdict PasteUp_separate eq {
  304.         end
  305.     } if
  306. } def
  307. /beginseparate {
  308.     % PasteUp_separate_vars /savestate save put
  309.     PasteUp_separate_vars begin
  310.     /nullimage exch def
  311.     dup length 10 add dict begin
  312.         {
  313.         dup xcheck exch dup
  314.         type /arraytype eq {
  315.             aload pop dup 6 1 roll findcmykcustomcolor
  316.         } {
  317.             true
  318.         } ifelse
  319.         3 -1 roll {
  320.             cvx
  321.         } if
  322.         def
  323.         } forall
  324.     currentdict end
  325.     /customcolors exch def
  326.     /separation exch def
  327.     /setprocessseparate
  328.         PasteUp_separate /processseparationset get separation get
  329.     def
  330.     /setcustomseparate
  331.         PasteUp_separate /customseparationset get separation get
  332.     def
  333.     /nulldevice false setgsproperty
  334.     end
  335. } def
  336. /endseparate {
  337.     % PasteUp_separate_vars /savestate get restore
  338. } def
  339. /checkcustomcolors {    % returns boolean; GCR 8/30/92
  340.     customcolors exch known
  341.     % customcolors exch [ 1 1.0 1.0 1.0 1.0  ] put true
  342. } def
  343.  
  344. /findcustomcolor {
  345.     0 0 0 1 5 -1 roll 5 packedarray
  346. } def
  347. /findgraycustomcolor {
  348.     exch 1 exch sub 0 0 0 4 -1 roll 5 -1 roll 5 packedarray
  349. } def
  350. /findrgbcustomcolor {
  351.     4 1 roll /rgbtocmyk getgsproperty exec 5 -1 roll 5 packedarray
  352. } def
  353. /findhsbcustomcolor {
  354.     4 1 roll gsave PasteUp_separate_vars /_sethsbcolor get exec currentrgbcolor grestore /rgbtocmyk getgsproperty exec 5 -1 roll 5 packedarray
  355. } def
  356. /findcmykcustomcolor {
  357.     5 packedarray
  358. } def
  359. /setcustomcolor {
  360.     dup type dup /integertype eq exch /realtype eq or {
  361.         /customcolor null setgsproperty
  362.     PasteUp_separate_vars begin
  363.         setcustomseparate
  364.     end
  365.     } {
  366.         /customcolor exch setgsproperty
  367.     } ifelse
  368. } def
  369. /currentcustomcolor {
  370.     /customcolor getgsproperty
  371. } def /setoverprint {
  372.     /overprint exch setgsproperty
  373. } def /currentoverprint {
  374.     /overprint getgsproperty
  375. } def /setrgbtocmyk {
  376.     /rgbtocmyk exch setgsproperty
  377. } def /currentrgbtocmyk {
  378.     /rgbtocmyk getgsproperty
  379. } def
  380. /setgray {
  381.     PasteUp_separate_vars begin
  382.     /customcolor getgsproperty exch 1 index null eq {
  383.         1 exch sub 0 0 0 4 -1 roll setprocessseparate
  384.     } {
  385.         1 exch sub setcustomseparate
  386.     } ifelse
  387.     end
  388. } def
  389. /nxsetgray /setgray load def
  390. userdict /nxsetgray /setgray load put
  391. /setrgbcolor {
  392.     PasteUp_separate_vars begin
  393.     /customcolor getgsproperty 4 1 roll 3 index null eq {
  394.         /rgbtocmyk getgsproperty exec setprocessseparate
  395.     } {
  396.         _setrgbcolor currentgray 1 exch sub setcustomseparate
  397.     } ifelse
  398.     end
  399. } def
  400. /nxsetrgbcolor /setrgbcolor load def
  401. /sethsbcolor {
  402.     PasteUp_separate_vars /_sethsbcolor get exec currentrgbcolor setrgbcolor
  403. } def
  404. /setcmykcolor {
  405.     PasteUp_separate_vars begin
  406.     /customcolor getgsproperty 5 1 roll 4 index null eq {
  407.         setprocessseparate
  408.     } {
  409.         _setcmykcolor currentgray 1 exch sub setcustomseparate
  410.     } ifelse
  411.     end
  412. } def
  413. /nxsetcmykcolor /setcmykcolor load def
  414. /setcmybcolor {
  415.     setcmykcolor
  416. } def
  417. currentdict
  418. /processseparationset 6 dict dup begin put
  419. /proof {
  420.     _setcmykcolor pop
  421. } def
  422. /processblack {
  423.     1 1 index sub _setgray 0 eq dup {
  424.         pop 3 copy add add 0 ne dup {
  425.             pop /overprint getgsproperty
  426.         } if
  427.     } if /nulldevice exch setgsproperty 4 {
  428.         pop
  429.     } repeat
  430. } bind def
  431. /processcyan {
  432.     4 -1 roll processseparationset /processblack get exec
  433. } bind def
  434. /processmagenta {
  435.     3 -1 roll processseparationset /processblack get exec
  436. } bind def
  437. /processyellow {
  438.     exch processseparationset /processblack get exec
  439. } bind def
  440. /customcolor {
  441.     /nulldevice /overprint getgsproperty
  442.     6 copy pop pop add add add 0 ne and setgsproperty
  443.     1 _setgray pop pop pop pop pop
  444. } def
  445. currentdict readonly pop
  446. end
  447. currentdict
  448. /customseparationset 6 dict dup begin put
  449. /proof {
  450.     1 index 4 get checkcustomcolors {
  451.         densitycustomcolor _setcmykcolor false
  452.     } {
  453.         pop pop 1 _setgray /overprint getgsproperty
  454.     } ifelse /nulldevice exch setgsproperty
  455. } def
  456. /processcyan {
  457.     1 index 4 get checkcustomcolors {
  458.         1 index 4 get customcolors exch get xcheck {
  459.             densitycustomcolor 3 index 0 eq 1 index 1 eq /overprint getgsproperty or and /nulldevice exch setgsproperty pop pop pop 1 exch sub _setgray
  460.         } {
  461.             false /nulldevice exch setgsproperty 1 exch sub _setgray pop
  462.         } ifelse
  463.     } {
  464.         /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  465.     } ifelse
  466. } def /processmagenta {
  467.     1 index 4 get checkcustomcolors {
  468.         1 index 4 get customcolors exch get xcheck {
  469.             densitycustomcolor 2 index 0 eq 1 index 1 eq /overprint getgsproperty or and /nulldevice exch setgsproperty 4 -1 roll pop pop pop 1 exch sub _setgray
  470.         } {
  471.             false /nulldevice exch setgsproperty 1 exch sub _setgray pop
  472.         } ifelse
  473.     } {
  474.         /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  475.     } ifelse
  476. } def /processyellow {
  477.     1 index 4 get checkcustomcolors {
  478.         1 index 4 get customcolors exch get xcheck {
  479.             densitycustomcolor 1 index 0 eq 1 index 1 eq /overprint getgsproperty or and /nulldevice exch setgsproperty 4 -2 roll pop pop pop 1 exch sub _setgray
  480.         } {
  481.             false /nulldevice exch setgsproperty 1 exch sub _setgray pop
  482.         } ifelse
  483.     } {
  484.         /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  485.     } ifelse
  486. } def /processblack {
  487.     1 index 4 get checkcustomcolors {
  488.         1 index 4 get customcolors exch get xcheck {
  489.             densitycustomcolor 0 index 0 eq /overprint getgsproperty and /nulldevice exch setgsproperty 4 -3 roll pop pop pop 1 exch sub _setgray
  490.         } {
  491.             false /nulldevice exch setgsproperty 1 exch sub _setgray pop
  492.         } ifelse
  493.     } {
  494.         /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  495.     } ifelse
  496. } def /customcolor {
  497.     1 index 4 get checkcustomcolors {
  498.         1 index 4 get customcolors exch get xcheck {
  499.             /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  500.         } {
  501.             false /nulldevice exch setgsproperty 1 exch sub _setgray pop
  502.         } ifelse
  503.     } {
  504.         /overprint getgsproperty /nulldevice exch setgsproperty pop pop 1 _setgray
  505.     } ifelse
  506. } def currentdict readonly pop end /fill {
  507.     /nulldevice getgsproperty {
  508.         newpath
  509.     } {
  510.         PasteUp_separate_vars /_fill get exec
  511.     } ifelse
  512. } def /eofill {
  513.     /nulldevice getgsproperty {
  514.         newpath
  515.     } {
  516.         PasteUp_separate_vars /_eofill get exec
  517.     } ifelse
  518. } def /stroke {
  519.     /nulldevice getgsproperty {
  520.         newpath
  521.     } {
  522.         PasteUp_separate_vars /_stroke get exec
  523.     } ifelse
  524. } def /imagemask {
  525.     /nulldevice getgsproperty {
  526.         gsave nulldevice PasteUp_separate_vars /_imagemask get exec grestore
  527.     } {
  528.         PasteUp_separate_vars /_imagemask get exec
  529.     } ifelse
  530. } def
  531. /image {
  532.     PasteUp_separate_vars /separation get /processblack eq
  533.     PasteUp_separate_vars /separation get /proof eq or not {
  534.         gsave
  535.         [ /pop cvx PasteUp_separate_vars /nullimage get ] cvx settransfer
  536.         PasteUp_separate_vars /_image get exec
  537.     grestore
  538.     } {
  539.         PasteUp_separate_vars /_image get exec
  540.     } ifelse
  541. } def
  542. /translateToGrayScale {
  543.     0 1 2 index length 1 sub { %for
  544.     4 index 1 index get 0.3 mul
  545.     4 index 2 index get 0.59 mul
  546.     4 index 3 index get 0.11 mul
  547.     4 index 4 index get
  548.     add add add cvi 255 min
  549.     255 exch sub
  550.     2 index 3 1 roll put
  551.     } for
  552.     4 1 roll pop pop pop
  553. } bind def
  554. /colorimage {
  555.     pop pop
  556.     [
  557.     5 -1 roll /exec cvx 
  558.     6 -1 roll /exec cvx 
  559.     7 -1 roll /exec cvx 
  560.     8 -1 roll /exec cvx
  561.     /translateToGrayScale cvx
  562.     ] cvx image
  563. } def
  564. /show {
  565.     /nulldevice getgsproperty {
  566.         stringwidth rmoveto
  567.     } {
  568.         PasteUp_separate_vars /_show get exec
  569.     } ifelse
  570. } def
  571. /nullExec {
  572.     PasteUp_separate_vars exch get /nulldevice getgsproperty {
  573.         gsave
  574.         PasteUp_separation_vars /_teststrips get
  575.         currentmatrix nulldevice setmatrix exec
  576.         currentpoint
  577.     grestore
  578.     moveto
  579.     } {
  580.         exec
  581.     } ifelse
  582. } def
  583. /xyshow {
  584.     /_xyshow nullExec
  585. } def
  586. /ashow {
  587.     /_ashow nullExec
  588. } def /widthshow {
  589.     /_widthshow nullExec
  590. } def /awidthshow {
  591.     /_awidthshow nullExec
  592. } def /kshow {
  593.     /_kshow nullExec
  594. } def
  595. currentdict readonly pop end setpacking
  596. currentpacking true setpacking userdict
  597. /PasteUp_separation 32 dict dup begin put
  598. /initialize {
  599.     userdict
  600.     /PasteUp_separation_vars 16 dict dup begin put
  601.     /_pagesize matrix def
  602.     /_halftone matrix def
  603.     /_deviceadjustmatrix matrix def
  604.     /_orientation matrix def
  605.     /_emulsion matrix def
  606.     /_imageablearea matrix def
  607.     /_labels matrix def
  608.     /_teststrips matrix def
  609.     /_cropmarks matrix def
  610.     /_registrationmarks matrix def
  611.     /_clipbox matrix def
  612.     /_beginseparation matrix def
  613.     /_endseparation matrix def
  614.     /_save null def
  615.     /_pagecount 1 def
  616.     /_showpage /showpage load def
  617.     PasteUp_separation begin
  618.     PasteUp_separation {
  619.         dup xcheck {
  620.             bind
  621.         } if pop pop
  622.     } forall end end PasteUp_separation begin
  623. } def
  624. /terminate {
  625.     currentdict PasteUp_separation eq {
  626.         end
  627.     } if
  628. } def
  629. /normalize {
  630.     matrix currentmatrix dup dup
  631.     4 get round 4 exch 0.25 add put dup dup
  632.     5 get round 5 exch 0.25 add put setmatrix
  633. } def
  634. /stringconcat {
  635.     dup length 2 index length add string dup 0 4 index putinterval dup 3 index length 3 index putinterval exch pop exch pop
  636. } def
  637. /pagesize {
  638.     aload pop exec
  639. } def
  640. /halftone {
  641.     dup length 4 ne {
  642.         /setcolorscreen where {
  643.             pop 7 dict begin
  644.         aload pop
  645.         /transfer2 exch cvlit def
  646.         /transfer1 exch cvlit def
  647.         /screen exch cvlit def
  648.         /blackscreen exch def
  649.         /yellowscreen exch def
  650.         /magentascreen exch def
  651.         /cyanscreen exch def
  652.         [
  653.             transfer1 cvx /exec cvx
  654.             transfer2 cvx /exec cvx
  655.             cyanscreen 3 get exec /exec cvx
  656.         ] cvx
  657.         [
  658.             transfer1 cvx /exec cvx
  659.             transfer2 cvx /exec cvx
  660.             magentascreen 3 get exec /exec cvx
  661.         ] cvx
  662.         [
  663.             transfer1 cvx /exec cvx
  664.             transfer2 cvx /exec cvx
  665.             yellowscreen 3 get exec /exec cvx
  666.         ] cvx
  667.         [
  668.             transfer1 cvx /exec cvx
  669.             transfer2 cvx /exec cvx
  670.             blackscreen 3 get exec /exec cvx
  671.         ] cvx
  672.         setcolortransfer
  673.         cyanscreen aload pop pop 3 {
  674.             exec 3 1 roll
  675.         } repeat
  676.         [ exch /exec cvx screen cvx /exec cvx ] cvx
  677.         magentascreen aload pop pop 3 {
  678.             exec 3 1 roll
  679.         } repeat
  680.         [ exch /exec cvx screen cvx /exec cvx ] cvx
  681.         yellowscreen aload pop pop 3 {
  682.             exec 3 1 roll
  683.         } repeat
  684.         [ exch /exec cvx screen cvx /exec cvx ] cvx
  685.         blackscreen aload pop pop 3 {
  686.             exec 3 1 roll
  687.         } repeat
  688.         [ exch /exec cvx screen cvx /exec cvx ] cvx setcolorscreen
  689.         end
  690.         } {
  691.             4 dict begin
  692.         aload pop
  693.         /transfer2 exch cvlit def
  694.         /transfer1 exch cvlit def
  695.         /screen exch cvlit def
  696.         /blackscreen exch def
  697.         [
  698.             transfer1 cvx /exec cvx
  699.             transfer2 cvx /exec cvx
  700.             blackscreen 3 get exec /exec cvx
  701.         ] cvx
  702.         settransfer blackscreen aload pop pop 3 {
  703.             exec 3 1 roll
  704.         } repeat
  705.         [ exch /exec cvx screen cvx /exec cvx ] cvx
  706.         setscreen
  707.         end
  708.         pop pop pop
  709.         } ifelse
  710.     } {
  711.         4 dict begin
  712.         aload pop
  713.         /transfer2 exch cvlit def
  714.         /transfer1 exch cvlit def
  715.         /screen exch cvlit def
  716.         /blackscreen exch def
  717.         [
  718.         transfer1 cvx /exec cvx
  719.         transfer2 cvx /exec cvx
  720.         blackscreen 3 get exec /exec cvx
  721.         ] cvx
  722.         settransfer blackscreen aload pop pop 3 {
  723.         exec 3 1 roll
  724.         } repeat
  725.         [ exch /exec cvx screen cvx /exec cvx ] cvx
  726.         setscreen
  727.     end
  728.     } ifelse
  729. } def
  730. /deviceadjustmatrix {
  731.     concat
  732. } def
  733. /orientation {
  734.     aload pop 1 eq {
  735.         pop pop
  736.     } {
  737.         pop 0 [ 0 1 -1 0 7 -2 roll ] concat
  738.     } ifelse
  739. } def
  740. /emulsion {
  741.     aload pop 1 eq {
  742.         pop pop
  743.     } {
  744.         pop 0 [ -1 0 0 1 7 -2 roll ] concat
  745.     } ifelse
  746. } def /imageablearea {
  747.     concat
  748. } def
  749. /clipbox {
  750.     aload pop 6 dict begin
  751.     /ty exch def
  752.     /tx exch def
  753.     /ury exch def
  754.     /urx exch def
  755.     /lly exch def
  756.     /llx exch def
  757.     newpath llx lly moveto
  758.     urx lly lineto
  759.     urx ury lineto
  760.     llx ury lineto
  761.     %  closepath clip
  762.     newpath %  tx ty translate
  763.     end
  764. } def
  765. userdict
  766. /AI3_noCropMarks null put
  767. % Registration marks removed from here
  768. /beginseparation {
  769.     aload pop beginseparate
  770. } def
  771. /endseparation {
  772.     aload pop endseparate
  773. } def /setvar {
  774.     PasteUp_separation_vars 3 1 roll put
  775. } def /getvar {
  776.     PasteUp_separation_vars exch get
  777. } def
  778. /setup {
  779.     PasteUp_separation begin
  780.     PasteUp_separation_vars begin
  781.         _pagesize pagesize
  782.         _halftone halftone
  783.         clippath 1 setgray fill
  784.     end
  785.     end
  786.     /_save save setvar
  787.     /_pagecount 1 setvar
  788.     PasteUp_separation_vars /_beginseparation get
  789.     PasteUp_separation /beginseparation get exec
  790.     PasteUp_separation /beginpage get exec
  791. } def
  792. /rehalftone {
  793.     PasteUp_separation begin PasteUp_separation_vars begin halftone end end
  794. } def
  795. /trailer {
  796.     PasteUp_separation /endpage get exec
  797.     PasteUp_separation_vars /_endseparation get
  798.     PasteUp_separation /endseparation get exec
  799.     %  /_save getvar restore
  800. } def
  801. /beginpage {
  802.     PasteUp_separation begin
  803.     PasteUp_separation_vars begin
  804.         _deviceadjustmatrix deviceadjustmatrix
  805.         _orientation orientation
  806.         _emulsion emulsion
  807.         _imageablearea imageablearea
  808.         endseparate
  809.         _clipbox clipbox
  810.         end
  811.     end
  812. } def
  813. /endpage {
  814.     
  815. } def
  816. /showpage {
  817.     PasteUp_separation /endpage get exec
  818.     PasteUp_separation_vars /_showpage get exec
  819.     /_pagecount dup getvar 1 add setvar
  820.     PasteUp_separation /beginpage get exec
  821. } def
  822. currentdict readonly pop end setpacking
  823. % END separation prolog
  824.